The Fibre Channel (FC) protocol enables high-speed point-to-point communications between storage devices through an intelligent collection of switches called a fabric. The storage devices may have one or more node devices called N_Ports which connect directly with ports on the fabric called Fabric Ports (F_Ports). The N_Ports discover each other through the fabric. Any two N_Ports may establish a link by a direct login procedure or a fabric login procedure. Each link is capable of supporting a base level protocol (the FC protocol) as well as one or more upper-level protocols (ULPs) such as the Small Computer Systems Interface (SCSI), the Internet Protocol (IP), the Virtual Interface (VI) Protocol (FCVI), etc. When running a ULP such as VI, a ULP connection must be established between a pair of ULP N_Ports before communication between the N_Ports can occur.
A ULP port e.g., a FCVI port (hereinafter called the “source port”) must discover the port identifier (ID) of the corresponding FCVI port (hereinafter called the “login port”) to which it wishes to send a connection request. This is achieved by querying a name server for the fabric to determine the IP address of the login port or by issuing a FARP (Fabric Address Resolution Protocol) request to all ports on the fabric. Both these techniques to discover the port ID of the login port require a network administrator to manually assign an IP address to the login port. Further, the network administrator has to configure the source port to use the IP address assigned to the login port to discover the port ID of the login port.
If a FARP request is the mechanism used to discover the port ID of the login port, then the source port issues a FARP request to all ports on the fabric. The FARP request includes the IP address of the login port. Each port on the fabric receives the FARP request and compares the IP address therein with its own IP address. Only the port with a matching IP address responds to the FARP request by providing its port ID to the source port.
However, as defined in the FC protocol, the FARP request is an optional service, and is not supported by all manufacturers. Further, manufacturers who provide equipment that supports FARP may require an additional license to use FARP.
Thus, it is desirable that the source and login ports can discover each other by themselves, without a network administrator having to assign IP addresses to the ports, and without the use of FARP requests.